package com.example.bankmanage.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.bankmanage.dto.rep.AccountAddReqDTO;
import com.example.bankmanage.dto.rep.AccountExportReqDTO;
import com.example.bankmanage.dto.rep.AccountUpdateReqDTO;
import com.example.bankmanage.dto.rep.GetAccountDetailReqDTO;
import com.example.bankmanage.entity.PageBean;
import com.example.bankmanage.entity.accounts;
import jakarta.servlet.ServletOutputStream;

import java.io.OutputStream;

public interface AccountService extends IService<accounts> {

    PageBean fetchAccountList(String accountNumber, String accountType, Integer page, Integer size, String status);

    void updateAccount(Integer accountId, AccountUpdateReqDTO requestParam);

    void addAccount(AccountAddReqDTO requestParam);

    GetAccountDetailReqDTO getAccountDetail(Integer accountId);

    void exportAccount(AccountExportReqDTO exportDTO, OutputStream outputStream);
}
